﻿#region 命名空间

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.Serialization;
using Sharp.Infrastructure;
using Sharp.DataTransferObject;
using Sharp.Infrastructure.Interfaces;

#endregion

namespace Sharp.DataTransferObject
{
    /// <summary>
    /// 用户
    /// </summary>
    [Serializable]
    [DebuggerStepThrough]
    public partial class UserDTO : IDTO
    {
        public UserDTO()
        {
        }
        /// <summary>
        /// 主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        ///     获取或设置当前客户的用户名。
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        ///     获取或设置当前客户的登录密码。
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        ///     获取或设置当前客户的电子邮件地址。
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 头像
        /// </summary>
        public string Face { get; set; }
        /// <summary>
        /// 手机号码
        /// </summary>
        public string PhoneNember { get; set; }

        /// <summary>
        ///     获取或设置用户账户最后一次登录的时间。
        /// </summary>
        public DateTime? LastLogonTime { get; set; }
        /// <summary>
        /// 获取或设置用户最后一次登录的IP
        /// </summary>
        public string LastLogonIp { get; set; }

        public List<RoleDTO> Roles { get; set; }
        public List<int> RoleIds { get; set; }

        /// <summary>
        /// 权限
        /// </summary>
        public List<PermissionDTO> Permissions { get; set; }

        /// <summary>
        /// 访问代码
        /// </summary>
        public string AccessCode { get; set; }

        /// <summary>
        /// 扩展信息
        /// </summary>
        public UserProfileDTO Profile { get; set; }
        /// <summary>
        /// 个人信息
        /// </summary>
        public EmployeeDTO Person { get; set; }
        public string SystemCode { get; set; }

        public bool Selected { get; set; }
    }
}